home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 26 / Cream of the Crop 26.iso / os2 / pvm34b3.zip / pvm34b3 / pvm3 / doc / release-notes < prev   
Text File  |  1997-07-22  |  12KB  |  248 lines

  1. ------------------------------------------------------------------------
  2.  
  3.                 PVM Version 3.4.0 is Available on Netlib
  4.                               22 July 1997
  5.  
  6. ------------------------------------------------------------------------
  7.  
  8. Besides bug fixes to 3.3, there are many new features in Version 3.4
  9. (see man pages for more details):
  10.  
  11.   -------- Message Context --------
  12.  
  13. * To allow more flexibility in organizing message tags sets, and
  14.   to provide support for "safe" libraries that will not inadvertently
  15.   intercept user messages, the concept of "message context" in PVM
  16.   has been introduced.  The context is an additional system-defined
  17.   message tag that each message carries, such that each given message
  18.   can only be sent or received within a single unique context.  For
  19.   example, all internal system messages in PVM now utilize a different
  20.   context than the base user application context, so that system
  21.   messages cannot be incorrectly received by the application.  The
  22.   user can determine the current context, create a new context,
  23.   set the current context and free message contexts using the new
  24.   routines pvm_getcontext(), pvm_newcontext(), pvm_setcontext() and
  25.   pvm_freecontext(), respectively (see man pages for details).  The
  26.   context itself is an integer value which can be packed into messages
  27.   and sent to cooperating tasks, or placed in a message mailbox (see
  28.   below) for client-service lookup.  By default, all tasks are spawned
  29.   in the same base context.
  30.  
  31.   -------- Message Handlers --------
  32.  
  33. * In the spirit of Active Messages, PVM now supports "message handlers"
  34.   for automatic processing of incoming messages.  The user can define
  35.   any number of message handler functions, each with a corresponding
  36.   (source, tag, context) tuple.  Then when a message matching a
  37.   particular tuple arrives at the local task, the user-specified
  38.   handler routine is automatically invoked to process the message. 
  39.   Within a message handler, the message can be unpacked and a simple
  40.   response message can be packed and sent (using pvm_send() only).
  41.   The new PVM routines for creating and deleting message handlers are
  42.   pvm_addmhf() and pvm_delmhf(), respectively (see man pages for
  43.   details).  Note that message handlers are only invoked when the
  44.   application is already executing a PVM messaging routine - handlers
  45.   cannot interrupt normal program execution.  Typically, message
  46.   handlers will trigger transparently during other communication,
  47.   but the user can specifically invoke them by calling pvm_probe()
  48.   or an equivalent function in a loop.
  49.  
  50.   -------- Message Mailboxes --------
  51.  
  52. * To provide a new means for name service that does not require the
  53.   PVM dynamic group server ("pvmgs"), a "message mailbox" mechanism
  54.   has been added to PVM 3.4.  Using this feature a user application
  55.   can post a message to a public mailbox which can subsequently be
  56.   "looked up" and retrieved by other independently spawned tasks in
  57.   the virtual machine.  Each mailbox is created using a specific
  58.   "class name" and can consist of either exactly one or many entries
  59.   for that given name.  When a task "looks up" a mailbox entry, it
  60.   receives back the message contained in it, to be unpacked and
  61.   processed as desired.  Mailboxes can be mutually exclusive, to
  62.   act as a locking mechanism for resources, and can be created as
  63.   "persistent" so that they will continue to exist after the owner
  64.   (or creator) task exits.  The new routines in PVM for creating,
  65.   retrieving and freeing message mailboxes are pvm_putinfo(),
  66.   pvm_recvinfo() and pvm_delinfo(), respectively, plus an additional
  67.   routine, pvm_getmboxinfo(), for obtaining a list of the currently-
  68.   defined class names (see man pages for details).
  69.  
  70.   -------- Spawn Siblings --------
  71.  
  72. * Often when designing SPMD programs, it is useful to know which tasks
  73.   were spawned together as a group.  This information can be used to 
  74.   form static groups for efficient group communication, or simply for
  75.   referencing other members of your own "spawn siblings".  The new
  76.   PVM call pvm_siblings() (see man page for details) returns a list
  77.   of integer task ids that corresponds to all the tasks that were
  78.   spawned together from a single pvm_spawn() call (or from the "pvm"
  79.   console).
  80.  
  81.   -------- Tracing --------
  82.  
  83. * Routines in libpvm and the group library have included built-in
  84.   tracing of calling parameter/results since PVM 3.3.  In PVM 3.4,
  85.   the tracing facility has been completely rewritten to be more
  86.   general, flexible and maintainable.  As a result, the tracing 
  87.   capabilities of PVM 3.4 have been expanded to support trace
  88.   buffering, several levels of tracing, and user-defined trace
  89.   events.  The graphical PVM interface, XPVM 1.2, has been rewritten
  90.   to use a new PVM library, libpvmtrc, and a new text-based trace
  91.   collection tool ("tracer") has been added to the standard PVM
  92.   distribution to allow easy trace file collection on systems where
  93.   X11 compilation is either difficult or impossible.  In addition,
  94.   the new tracing facility now supports "automatic" attachment to
  95.   trace collection programs, so that when tasks are independently
  96.   spawned, e.g. from the shell, their trace events will still
  97.   propagate to the proper trace tool (without any manual "attachment"
  98.   procedure).  Other various improvements have been applied to
  99.   specific trace events, e.g. pvm_send() events now carry the message
  100.   size information, allowing proper driving of XPVM's Message
  101.   Queue View (you will notice the difference in the message coloring
  102.   to indicate this added capability).  Upon re-compiling XPVM with
  103.   the new PVM 3.4 libraries (by clearing the defines for PVMVERSION
  104.   and PVMGLIB, and modifying TRCDIR to point to pvm3/tracer in the
  105.   file "xpvm/src/Makefile.aimk"), you will find additional options
  106.   on the "Tasks.../SPAWN" dialog to control the new tracing features.
  107.   The new "pvm" console also supports new options to the "trace"
  108.   commands (type "help trace" in the console for a description).
  109.   For additional information regarding use of the more advanced
  110.   tracing features, send email to "kohl@msr.epm.ornl.gov".
  111.  
  112. * Added new "trcsort" program (in pvm3/tracer subdirectory) for
  113.   sorting trace files by timestamp.  Takes into account approximate
  114.   clock skew among hosts (still no guarantees about "tachyons" though).
  115.  
  116.   -------- Misc --------
  117.  
  118. * Most of the MIMD and SHMEM code has been completely rewritten
  119.   (as of this beta release, the SHMEM ports are still work in progress)
  120.   to eliminate many bugs and improve maintainability and robustness.
  121.   On architectures that support shared memory operations, the
  122.   default PVM architecture selection is now non-shmem, and to turn
  123.   on selection of the appropriate *MP architecture the user must
  124.   set the environment variable "PVM_SHMEM" to "ON", as in
  125.   "setenv PVM_SHMEM ON" (see "Potential Incompatibilities" below).
  126.   The style of compiling PVM applications for MPP systems has
  127.   also changed slightly - please refer to the pvm3/examples directory
  128.   for the proper Makefile.aimk targets.
  129.  
  130. * The Makefiles for PVM 3.4 have been completely overhauled to
  131.   (theoretically) allow easier setting of desired compile options
  132.   from the new top level Makefile.aimk.  The new defines "CFLOPTS" and 
  133.   "FFLOPTS" are passed down into the various subdirectories and then
  134.   prepended to the definitions for CFLAGS and FFLAGS, respectively.
  135.   Likewise, setting CC or F77 at the top level will force that setting
  136.   throughout the source tree when making at the top level.
  137.  
  138. * Extensive work has been done on the PVM port to Windows systems,
  139.   the "WIN32" architecture.  The stuff really works!  :-)
  140.  
  141. * Added new "srm" simple resource manager example, in pvm3/rm.
  142.  
  143. * Added new pvm_setopt() option "PvmNoReset" for system tasks, to
  144.   prevent tasks from being killed during a system reset.
  145.  
  146. * Added new pvm_setopt() option "PvmNoSpawnParent" so that tasks can
  147.   now use pvm_parent() to determine if they are the "master" in
  148.   master-slave applications, even if tasks are spawned from the
  149.   "pvm" console or XPVM.
  150.  
  151. ------------------------------------------------------------------------
  152.  
  153. Bug Fixes:
  154.  
  155. * Remote task output collection and tracing is now correctly working
  156.   on MPP systems such as PGON and SHMEM architectures.
  157.  
  158. * It is now possible to fully interoperate pvm_send(), pvm_recv(),
  159.   pvm_nrecv() and pvm_trecv() with pvm_psend() and pvm_precv()
  160.   (assuming that the appropriate PvmDataRaw data encoding is used!).
  161.   MPPs can use pvm_psend() and pvm_precv() off-machine with tasks
  162.   that are using the traditional send and receive routines.
  163.  
  164. * Modified pvm_freebuf() so that freeing a NULL buffer no longer
  165.   generates an error.  Many 3.3 codes exhibited this error through
  166.   the use of pvm_freebuf( pvm_setsbuf(x) ) where there was no old
  167.   send buffer.
  168.  
  169. * A static character variable has been utilized inside pvm_version()
  170.   to prevent stack problems on certain architectures.
  171.  
  172. * Removed ancient "-lmutex" from SGI architectures ARCHDLIB defines!
  173.  
  174. * Lots of random manual pages (more to come...).
  175.  
  176. ------------------------------------------------------------------------
  177.  
  178. Changes - Potential Incompatibilities:
  179.  
  180. * The old "$SGIMP" environment variable has been subsumed with the
  181.   new "$PVM_SHMEM" environment variable.
  182.  
  183. * Due to incompatibilities between AIX 4.1 and 4.2, the previous RS6K
  184.   architecture has been split to add several new architectures for
  185.   different OS / SHMEM combinations:  AIX46K, AIX4MP, AIX4SP2.
  186.  
  187. * All of the various daemon-to-task and task-to-task protocols have
  188.   been moved to a new public header file, "pvm3/include/pvmproto.h".
  189.   The constants for utilizing the protocols for task control messages
  190.   and other system support programs are all included in this new header
  191.   file.
  192.  
  193. * Tracing facility has been completely rewritten, new trace messages
  194.   are incompatible with PVM 3.3 tracing tools (except XPVM 1.2, see
  195.   above).
  196.  
  197. * Defunct functs - the following functions are no longer supported
  198.   in PVM 3.4:  pvm_insert(), pvm_delete(), pvm_lookup().  The name
  199.   service features that these routines provided are now handled
  200.   using the message mailbox system.
  201.  
  202. * Obsolete functions - the following functions will be eliminated
  203.   in a future release:  pvm_getmwid(), pvm_setmwid().  Users should
  204.   switch to pvm_getminfo() and pvm_setminfo().
  205.  
  206. ------------------------------------------------------------------------
  207.  
  208. How to get it:
  209.  
  210. It's just been put on netlib2.CS.UTK.EDU and will propagate to the other
  211. servers soon.
  212.  
  213. >From Netlib, to get a uuencoded, compressed tarfile:
  214.     echo "send pvm3.3.tar.z.uu from pvm3" | mail netlib@ORNL.GOV
  215.  
  216. For more information from Netlib about PVM:
  217.     echo "send index from pvm3" | mail netlib@ORNL.GOV
  218.  
  219. Using Xnetlib:
  220.     select directory pvm3, file pvm3.3.tar.z.uu
  221.  
  222. Via FTP:
  223.     host netlib2.CS.UTK.EDU, login anonymous, directory /pvm3
  224.  
  225. For more information about file retrieval from netlib:
  226.     finger anon@netlib2.CS.UTK.EDU
  227.  
  228. Send bug reports, comments, questions to:
  229.     pvm@MSR.EPM.ORNL.GOV
  230.  
  231. Use newsgroup for discussion:
  232.     comp.parallel.pvm
  233.  
  234. ------------------------------------------------------------------------
  235.  
  236. Sincerely,
  237. The PVM research group
  238.  
  239. (:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:(:
  240.  
  241.   James Arthur Kohl, Ph.D.              "Da Blooos Brathas?!  They
  242.   Oak Ridge National Laboratory             still owe you money, Fool!"
  243.   kohl@msr.epm.ornl.gov
  244.   http://www.epm.ornl.gov/~kohl/        Long Live Curtis Blues!!!
  245.  
  246. :):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):)
  247.  
  248.